This invention relates to removable-card interfaces, and more particularly to dual-protocol interfaces for removable cards.
Flash-memory cards are widely used for storing digital pictures captured by digital cameras. One useful format is Sony's Memory Stick (MS), having a small form factor roughly the size of a stick of chewing gum. Another highly popular format is Secure-Digital (SD), which is an extension of the earlier MultiMediaCard (MMC) format. SD cards are relatively thin, having an area roughly the size of a large postage stamp.
SD cards are also useful as add-on memory cards for other devices, such as portable music players, personal digital assistants (PDAs), and even notebook computers. SD cards are hot-swappable, allowing the user to easily insert and remove SD cards without rebooting or cycling power. Since the SD cards are small, durable, and removable, data files can easily be transported among electronic devices by being copied to an SD card. SD cards are not limited to flash-memory cards. Other applications such as communications transceivers can be implemented as SD cards.
The SD interface currently supports a top transfer rate of 100 Mb/s, which is sufficient for many applications. However, some applications such as storage and transport of full-motion video may benefit from higher transfer rates.
Other bus interfaces offer higher transfer rates. Universal-Serial-Bus (USB), for example, has a top transfer rate of 480 Mb/s. Peripheral-Component-Interconnect (PCI) Express, at 2.5 Gb/s, and Serial-Advanced-Technology-Attachment (SATA), at 1.5 Gb/s and 3.0 Gb/s, are two examples of high-speed serial bus interfaces for next generation devices. IEEE 1394 (Firewire) supports 3.2 Gb/s. Serial Attached Small-Computer System Interface (SCSI) supports 1.5 Gb/s. These are roughly 5 to 32 times faster than the SD interface.
A new removable-card form-factor known as ExpressCard has been developed by Personal-Computer Memory Card International Association (PCMCIA), PCI, and USB standards groups. ExpressCard is about 75 mm long, 34 mm wide, and 5 mm thick and has an ExpressCard connector. ExpressCard provides both USB and PCI Express interfaces on the same 26-pin card connector.
Serial-ATA is used mostly as an internal expansion interface on PC's, since it requires two separate connectors. A first 7-pin connector carries signals while a second 15-pin connector is for power. ExpressCard's large 26-pin connector limits its usefulness and increases the physical size of devices using ExpressCard connectors. Compact-Flash cards also tend to be larger in size than SD cards since the Compact-Flash protocol typically involves more connector pins.
SD and MMC are complementary card interfaces, and are sometimes lumped together and referred to as SD/MMC cards. The older MMC cards have 7 metal connector pads while SD has 9 connector pads. MMC cards can fit in SD slots. However, the host must determine which type of card is inserted into its slot for proper communication. When a 7-pin MMC card is inserted, only 7 pads are used, while the additional 2 pads are used when a SD card is detected in the slot.
FIG. 1 shows a prior-art implementation for the card-detection routine executed by a host. The host, such as a host personal computer (PC) detects when a card is inserted into a slot, step 102. The host sends a sequence of commands to the inserted card that includes a CMD55 command, step 104. If the card does not respond properly to the CMD55 command, step 106, then the card is deemed an MMC card, not a SD card. A sequence of commands is sent to the MMC card, step 108, which includes the CMD1 command. The MMC card is then initialized by a sequence of commands, such as the host reading configuration registers on the MMC card, step 110. The host uses the 7 pins shared with MMC to communicate with the MMC card.
When the inserted card responds to the CMD 55 command, step 106, then the card may be a SD card. Further commands are sent to the card including the advanced command ACMD41, step 112. If the card does not respond properly to the ACMD41, step 114, then the card fails, step 116.
When the card responds properly to the ACMD41, step 112, then the card is deemed an SD memory card. The SD card is then initialized by a sequence of commands, such as the host reading configuration registers on the SD card, step 118. The host uses the 9-pin SD interface to communicate with the SD card. The host can use one data line or up to four data lines in the SD interface for communication. Data stored on the SD card can be encrypted using higher-level security protocols.
FIG. 2 is a flowchart illustrating a prior-art implementation of a detection-response routine executed by a SD memory card. The SD card obtains power from the metal contact pads when inserted into the host slot and powers up, step 202. A card-initialization routine is started, step 204, which may include various internal self-checks. A controller inside the SD card executes these routines, activates the external interface, and then waits for commands from the host. When a CMD55 is received from the host, step 206, then the SD controller waits for an ACMD41 from the host, step 208. The card responds to the ACMD41 from the host with Operation Conditions Register content, step 210. The SD card is then ready to receive further commands from the host, step 212. The full 9-pin SD interface is used.
While either MMC or SD cards can be detected, the transfer rate using either MMC or SD cards is slower than many current bus standards. Applications such as video transfer could benefit from a higher-speed interface than a SD card. The thin, small size of the SD card is beneficial, but the slow transfer rates could limit SD-card use in the future. A higher-speed interface than the SD card is desired, as is a detection scheme for use with higher-speed interfaces.